package com.springboot.ww.platform.pd.ctms.api;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 描述：
 *
 * @author 🧑 ‍wanwei
 * @since 2024-06-19 15:52
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class PdOrderDetailResp implements Serializable {


	@JsonProperty("result")
	private ResultBeanX result;
	@JsonProperty("success")
	private boolean success;
	@JsonProperty("requestId")
	private String requestId;
	@JsonProperty("errorCode")
	private int errorCode;
	@JsonProperty("errorMsg")
	private String errorMsg;

	@JsonIgnoreProperties(ignoreUnknown = true)
	@Data
	public static class ResultBeanX implements Serializable {
		@JsonProperty("result")
		private ResultBean result;
		@JsonProperty("success")
		private boolean success;
		@JsonProperty("errorCode")
		private int errorCode;
		@JsonProperty("serverTime")
		private long serverTime;
		@JsonProperty("errorMsg")
		private String errorMsg;

		@JsonIgnoreProperties(ignoreUnknown = true)
		@Data
		public static class ResultBean implements Serializable {
			@JsonProperty("parentOrderMap")
			private ParentOrderMapBean parentOrderMap;
			@JsonProperty("orderList")
			private List<OrderListBean> orderList;

			@JsonIgnoreProperties(ignoreUnknown = true)
			@Data
			public static class ParentOrderMapBean implements Serializable {
				@JsonProperty("regionId")
				private int regionId;
				@JsonProperty("parentOrderSn")
				private String parentOrderSn;
				@JsonProperty("parentShippingTime")
				private int parentShippingTime;
				@JsonProperty("siteId")
				private int siteId;
				@JsonProperty("expectShipLatestTime")
				private int expectShipLatestTime;
				@JsonProperty("parentOrderStatus")
				private int parentOrderStatus;
				@JsonProperty("parentOrderTime")
				private int parentOrderTime;
			}

			@JsonIgnoreProperties(ignoreUnknown = true)
			@Data
			public static class OrderListBean implements Serializable {
				@JsonProperty("quantity")
				private Integer quantity;
				@JsonProperty("orderSn")
				private String orderSn;
				@JsonProperty("goodsId")
				private Long goodsId;
				@JsonProperty("orderStatus")
				private Integer orderStatus;
				@JsonProperty("thumbUrl")
				private String thumbUrl;
				@JsonProperty("goodsName")
				private String goodsName;
				@JsonProperty("spec")
				private String spec;
				@JsonProperty("skuId")
				private Long skuId;
				@JsonProperty("productList")
				private List<ProductListBean> productList;

				@JsonIgnoreProperties(ignoreUnknown = true)
				@Data
				public static class ProductListBean implements Serializable {
					@JsonProperty("productSkuId")
					private Long productSkuId;
					@JsonProperty("soldFactor")
					private int soldFactor;
					@JsonProperty("extCode")
					private String extCode;
					@JsonProperty("productId")
					private Long productId;
				}
			}
		}
	}
}
